package com.flashcash.kotlin.data

import com.flashcash.solu.bean.YWUser
import com.google.gson.annotations.SerializedName
import java.io.Serializable

/**
 * @作者:My
 * @创建日期: 2017/7/17 9:43
 * @描述:${TODO}
 *
 * @更新者:${Author}$
 * @更新时间:${Date}$
 * @更新描述:${TODO}
 */
data class LoanRange(var amountStep: Double, var interestRate: Double, var maxAmount: Double, var maxPeriod: Double, var minAmount: Double, var
minPeriod: Double, var periodStep: Double, var periodUnit: String, var serviceFee: Double) : Serializable



data class FunctionInfo(var name: String, var iconId: Int, val func: () -> Any) : Serializable

data class EmojiLocationBean(val resourid: Int, val startIndex: Int, val endIndex: Int) : Serializable

data class ActivityCenterBean(val detailUrl: String, val iconPath: String, val content: String, val time: String) : Serializable

/**
 * {
"type": "DISCHARGE_INTEREST",
"description": "string",
"dischargeInterestDay": 0,
"id": 0,
"title": "string",
"used": true,
"validBeginTime": "2017-08-16T08:27:02.611Z",
"validEndTime": "2017-08-16T08:27:02.612Z"
}
 */
data class CouponBean(val type: String, val description: String, val dischargeInterestDay: Int, val id: Long, val title: String, val used: Boolean, val validBeginTime: String, val validEndTime: String) : Serializable

/**
{
"completeLoanApplyCount": 0,
"inviteeCount": 0
}
 */
data class InviteeBean(val completeLoanApplyCount: Int, val inviteeCount: Int) : Serializable

/**
{
"availableCouponCount": 0,
"banner": [
{
"url": "string"
}
],
"chatAccount": {
"password": "string",
"userid": "string"
},
"inviteeCount": 0,
"name": "string"
}
 */
data class ActivityInfoBean(val url: String, val detailUrl: String) : Serializable

data class MeInfoBean(val availableCouponCount: Int, var banner: ArrayList<ActivityInfoBean>?, val inviteeCount: Int, val name: String?, val chatAccount: YWUser?) : Serializable {
    constructor() : this(0, null, 0, null, null)
}

/**
[
{
"mobile": "string",
"realName": "string",
"registerTime": "2017-08-25T01:27:58.647Z"
}
]
 */
data class InviteePersonBean(val mobile: String, val realName: String, val registerTime: String) : Serializable

data class InviteResult(val list: java.util.ArrayList<InviteePersonBean>, val bean: InviteeBean, val code: String) : Serializable

data class LoaningAmoutBean(val dueAmount: Double?, val interest: Double?, val serviceFee: Double?, val totalAmount: Double?, val issueAmount: Double?) : Serializable

data class BasicAck(val code: String?, val message: String?, val data: String?) : Serializable


data class BankBean(
        val id: Int, //96
        val bankName: String, //BPD Aceh UUS
        val bankCode: String //ACEH_UUS
) : Serializable

data class WithdrawChannel(
        val id: Int,
        val code: String,
        var name: String

) : Serializable

data class SkyPayRepaymentInfo(
        val contractNumber: String,
        var repayAmount: String
) : Serializable

data class UserBankInfo(
        val bankCode: String?, //string
        val branch: String?, //string
        val cardNo: String?, //string
        val city: String?, //string
        val createTime: String?, //2018-04-09T09:20:12.189Z
        val customerId: Int?, //0
        val id: Int?, //0
        val loanAppId: Int?, //0
        val province: String?, //string
        val updateTime: String?, //2018-04-09T09:20:12.189Z
        val verifyAccountHolderName: String?, //string
        val verifyStatus: String?, //PENDING
        val accountType: String?,
        val cardMonth: String?,
        val cardYear: String?,
        val fullName: String?) : Serializable


data class SysDictBean(@SerializedName("code")
                       val code: String = "",
                       @SerializedName("value")
                       val value: String = "") : Serializable
